/*
 * adjacencylist.h
 *
 *  Created on: Jun 17, 2010
 *      Author: Guilherme
 */

#ifndef ADJACENCYLIST_H_
#define ADJACENCYLIST_H_

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include "list.h"

struct adjacencyListStruct {
	int numberNodes;
	LinkedList *nodes;
};

typedef struct adjacencyListStruct *AdjacencyList;

AdjacencyList initAdjacencyList(int numberNodes);
AdjacencyList addNeighbor(AdjacencyList L, int nodeID, int neighborID, int linkCost);
LinkedList getNeighbor(AdjacencyList L, int nodeID);
void destroy_adjacency_list(AdjacencyList L);

#endif /* ADJACENCYLIST_H_ */
